Environmental scene condition detection

ABSTRACT

A method of processing data includes receiving, at a computing device, data representative of an image captured by an image sensor. The method also includes determining a first scene clarity score. The method further includes determining whether the first scene clarity score satisfies a threshold, and if the first scene clarity score satisfies the threshold, determining a second scene clarity score based on second data extracted from the data.

I. FIELD

The present disclosure relates generally to scene detection. Morespecifically, aspects of this disclosure relate to the detection ofenvironmental scene conditions.

II. DESCRIPTION OF RELATED ART

Various environmental conditions can impair the visibility of a scene.For example, fog, haze, rain, smog, snow, sleet, condensation, winterymix, and/or other environmental conditions can make a scene less clearthan if such conditions were absent from the scene. Additionally,environmental conditions may obscure other objects within a scene.Accordingly, environmental scene conditions may make driving a vehiclemore difficult when present in a scene viewed by the driver. Further,some vehicles may be equipped with an advanced driver assistance system(ADAS). The ADAS may receive data from a camera that captures images ofan area around a vehicle. In some implementations, the camera may bepositioned inside the vehicle such that a clarity condition through thewindshield may affect the clarity of a captured image. That is to say,the conditions of the environment within the vehicle and/or theenvironment outside of the vehicle may affect the clarity of thecaptured image. For example, temperature between the inside of a vehicleand the ambient environment may cause fog or condensate to form on thewindshield, absent fog, rain, or haze, or other environmental conditionsoutside of the vehicle. The ADAS may perform various functions, based onthe images, to assist in operation of the vehicle. However, if thecaptured images are unclear (e.g., due to environmental sceneconditions), the ADAS may be unable to function properly and/or thedriver may be less able to perform necessary operations.

III. SUMMARY

A system and a method for detecting environmental scene conditions, forexample, haze, smog, and/or weather, and initiating actions based on theconditions are disclosed. The environmental scene condition may bedetected based on an image being categorized as unclear. The actions mayinclude using image processing to clarify the image, outputting amessage, activating one or more systems of a device, or a combinationthereof. The system and method may be implemented in electronic devices,automotive system consoles (e.g., ADAS), mobile devices, gamingconsoles, wearable devices (e.g., personal mounted cameras), headmounted displays, etc. Additional examples include, but are not limitedto, robots or robotic devices, unmanned aerial vehicles (UAVs), anddrones.

For example, an environmental scene condition detection module mayreceive an input image representative of a scene viewed from a vehicleand may determine whether the input image includes one or moreenvironmental scene conditions (e.g., due to rain, fog, a foggywindshield, smog, etc.). To determine whether the image includes one ormore environmental scene conditions, the environmental scene conditiondetection module may extract first data (e.g., dark feature data) fromdata describing the input image and compare the first data to a firstscene clarity model (e.g., a supervised machine learning model, such asa linear support vector model) to determine a first scene clarity score.The environmental scene condition detection module may compare the firstscene clarity score to a first threshold, and when the first sceneclarity score does not satisfy the first threshold, determine that theinput image does not include one or more environmental scene conditionsthat might make the scene less clear. Thus, images of clear scenes maybe identified based on dark features, without performing more complexgradient phase operations.

When the first scene clarity score satisfies the first threshold, theenvironmental scene condition detection module may determine a secondscene clarity score by extracting second data (e.g., the dark featuredata and gradient phase data) from the data describing the input imageand comparing the second data to a second scene clarity model (e.g., asupervised machine learning model, such as a linear support vectormodel). The environmental scene condition detection module may determinethat the input image is not clear when the second scene clarity scoresatisfies a second threshold. The environmental scene conditiondetection module may further initiate an action (e.g., enhancing theimage to generate a clarified image, generating a warning, activatinglight systems onboard the vehicle, activating other vehicle systems,augmenting a display, sending a message to another device, etc.) whenthe image is not clear and/or when the image includes one or moreenvironmental conditions indicative that the image might not be clear.The action may enable safer operation of the vehicle in unclearconditions.

In one aspect, a method of processing data includes receiving, at acomputing device, data representative of an image captured by an imagesensor. The method also includes determining a first scene clarity scoreof the image based on first data extracted from the data. The methodfurther includes, determining whether the first scene clarity scoresatisfies a threshold, and if the first scene clarity score satisfiesthe threshold, determining a second scene clarity score based on seconddata extracted from the data.

In another aspect, an apparatus includes a computing device. Thecomputing device is configured to receive data representative of animage captured by an image sensor. The computing device may be furtherconfigured to determine a first scene clarity score of the image basedon first data extracted from the data. The computing device may beconfigured to determine whether the scene clarity score satisfies athreshold. If the first scene clarity score satisfies the threshold, thecomputing device may determine a second scene clarity score based onsecond data extracted from the data.

In another particular aspect, a computer-readable storage medium storesinstructions that, when executed by a processor, cause the processor toperform operations. The operations include receiving data representativeof an image captured by an image sensor. The operations also includedetermining a first scene clarity score of the image based on first dataextracted from the data. The operations further include determiningwhether the first scene clarity score satisfies a threshold, and if thefirst scene clarity score satisfies the threshold, determining a secondscene clarity score based on second data extracted from the data. Theoperations further include determining whether to automatically initiatean action based on the second scene clarity score.

Other aspects, advantages, and features of the present disclosure willbecome apparent after review of the entire application, including thefollowing sections: Brief Description of the Drawings, DetailedDescription, and the Claims.

IV. BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a particular illustrating a particularsystem for environmental scene condition detection;

FIG. 2 is a flowchart illustrating a particular method of environmentalscene condition detection;

FIG. 3 is a block diagram illustrating another system for environmentalscene condition detection;

FIG. 4 is a diagram illustrating local tone mapping (LTM) functions thatmay be used to generate a clarified image;

FIG. 5 is a flowchart illustrating another particular method ofenvironmental scene condition; and

FIG. 6 is a flowchart illustrating a device that may be used forenvironmental scene condition.

V. DETAILED DESCRIPTION

Referring to FIG. 1, a block diagram illustrating a system 100 fordetecting environmental scene conditions is shown. The system 100includes an image sensor 102 (e.g., a camera). The image sensor 102 maybe positioned to capture images of a scene 122. The scene 122 may berepresentative of a scene viewed from a vehicle, representative of aview of a human (e.g., the image sensor 122 may be included in dataglasses or another head mounted camera), or representative of a scenesurrounding a robot, such as an unmanned aerial vehicle. In a furtherexample, the scene 122 may be captured by a mobile device, such as amobile phone or tablet computer.

In examples in which the scene 122 is representative of a scene viewedfrom a vehicle, the images of the scene 122 captured by the image sensor102 may be captured through a windshield (e.g., the image sensor 122 maybe mounted in a rear view mirror assembly) or other window of thevehicle. In such instances, the image may include environmentalconditions from within the vehicle and from outside of the vehicle. Inother examples, the image sensor 102 may be outside of the vehicle. Theimage sensor 102 may be a digital camera capable of taking still images,videos, or both. In particular examples, the system 100 includes morethan one image sensor. For example, the system 100 may include imagesensors that correspond to a rear window, side windows, a windshield, ora combination thereof. In particular examples, the image sensor 102 isconfigured to capture thirty images per second.

The system 100 further includes a computing device 106. The image sensor102 is in communication (e.g., via a wired or wireless connection) withthe computing device 106. The computing device 106 and the image sensor102 may be located in approximately the same location or in differentlocations. For example, both the computing device 106 and the imagesensor 102 may be located onboard a vehicle. In another example, thecomputing device 106 may be located onboard a vehicle while the imagesensor 102 is located outside of the vehicle. To illustrate, the imagesensor 102 may be located in a different vehicle that is incommunication with the vehicle including the computing device 106. Inanother illustrative example, the image sensor 102 may be located at afixed site (e.g., a weather station) or at a mobile (e.g., a weatherballoon) piece of infrastructure that is in communication with thevehicle including the computing device 106. Further, the image sensor102 may be located onboard a vehicle while the computing device 106 islocated offsite at a location (e.g., at a computing center) that is incommunication with the vehicle. While the previous examples illustratethe relative locations of the image sensor 102 and the computing device106 with respect to a vehicle, it should be noted that in someimplementations, neither the image sensor 102 nor the computing device106 is located in a vehicle. For example, one or both of the imagesensor 102 and the computing device 106 may be located on a robot, awearable computing device, a gaming system, or on a mobile device (e.g.,a mobile phone or a tablet computer).

The computing device 106 may include an environmental scene conditiondetection module 108. The environmental scene condition detection module108 and components of the environmental scene condition detection module108 may correspond to hardware or software. For example, theenvironmental scene condition detection module 108 may correspond tosoftware executed at a processor (e.g., a central processor unit, animage signal processor, or a combination thereof) of the computingdevice 106, hardware integrated in an image signal processor of thecomputing device 106, or a combination thereof.

Operation of the system 100 is described with reference to FIG. 2. FIG.2 shows a flowchart illustrating a method 200. The method 200 maycorrespond to operation of a cascade classifier to detect unclearimages. The method 200 includes receiving an input image, at block 202.For example, the environmental scene condition detection module 108 mayreceive image data 103 representing an image from the image sensor 102.The image may depict the scene 122. Certain environmental sceneconditions (e.g., weather, lighting, etc.) may cause features in theimage to appear less clear. For example, the vehicle may be travelingthrough fog or through rain. In addition, a window (e.g., the windshield121) through which the image sensor 102 captures the image may be foggydue to a difference between a temperature inside of the vehicle and atemperature outside of the vehicle, or may be otherwise unclear due tocondensate or frost. When features in an image are difficult to discern(e.g., the image is “unclear”), the image may indicate an environmentalscene condition (e.g., rain, fog, a foggy windshield, smog, haze etc.).In examples where the system 100 and the method 200 are used inconjunction with a vehicle assistance application (e.g., ADAS), anunclear image may be an indicator that an operator of the vehicle maynot be able to see features (e.g., traffic signs, traffic lanes,pedestrians, other vehicles, trees, etc.) of the scene 122 outside ofthe vehicle. The environmental scene condition detection module 108 maydetect unclear images from the image sensor 102 and may initiate anaction to make operation of the vehicle safer.

The method 200 further includes optionally resizing the input image, atblock 204. For example, the environmental scene condition detectionmodule 108 may transform the image data 103 to resize the image. In aparticular example, the environmental scene condition detection module108 may resize the image to a 320×240 resolution. Resizing the image mayallow the environmental scene condition detection module 108 to performenvironmental scene condition detection using less computationalresources (e.g., because the resized image is smaller than the image).In a particular example, the environmental scene condition detectionmodule 108 may execute software or utilize a hardware module (e.g., ahardware module of an image processor) to resize the image.

The method 200 further includes extracting first features (e.g., a firststage classifier of the cascade classifier) from the image, at block206. For example, the environmental scene condition detection module 108may extract first data 104 from the image data 103. The first data 104may correspond to dark feature data that describes high intensity valuesin channels of the image. For example, when the image is a red, green,blue (RGB) image, the dark feature data may describe which pixels in theimage include high values in each of the red channel, the green channel,and the blue channel of the image. It should be noted that the system100 and the method 200 are compatible with digital images that includean alternative set of channels (e.g., cyan, magenta, yellow, and black(CMYK)). The first data 104 may be indicative of contrast in the image.For example, dark feature data may identify pixels that have highintensity values (e.g., dark features). The dark feature data mayfurther identify intensity values of the identified pixels. Thus, thedark feature data may be used to determine intensity differences (e.g.,contrast) between pixels in dark areas of the image.

The method 200 further includes generating a first scene clarity scorebased on the first features (e.g., dark features), at block 208. In anillustrative example, a first scene clarity score 111 is generated usinga first scene clarity model 110. To illustrate, the first scene claritymodel 110 may be a supervised machine learning model that is “trained”based on a set of input images and/or input videos (e.g., sample imagesand/or sample videos), where each image is pre-categorized (e.g., by avendor of the first scene clarity model 110) as being “clear” or“unclear.” In some examples, the first scene clarity model 110 is alinear support vector model (SVM). As each additional input image isprovided to the first scene clarity model 110 during the “training”phase, the first scene clarity model 110 adjusts a machine-learned“boundary” between “clear” and “unclear.” The boundary may separate theinput images based on dark features of the input images. In someexamples, the first scene clarity model 110 is based on test videosequences in which one or more frames of the test video sequences havebeen pre-categorized as unclear or clear. Once the first scene claritymodel 110 has been trained, a scene clarity score for an image may bedetermined based on whether dark features of the image (or image data)are on the “clear” or “unclear” side of the boundary, and/or how far thedark features are from the boundary. An image being classified asunclear may be an indication that the image is affected by anenvironmental scene condition (e.g., rain, fog, a foggy windshield,smog, haze etc.). Thus, by comparing the first scene clarity model 110to the first data 104, the environmental scene condition detectionmodule 108 may be able to generate a first scene clarity score 111indicating a probability that the image is affected by an environmentalscene condition.

The method 200 further includes comparing the first scene clarity scoreto a first threshold (e.g., determining whether the image is clear basedon the first stage classifier of the cascade classifier), at block 210.For example, the environmental scene condition detection module 108 maycompare the first scene clarity score 111 to a first threshold 112. Thefirst threshold 112 may correspond to a threshold probability that theimage is unclear based on the first scene clarity score 111. In aparticular example, the first threshold 112 is 50% (e.g., the firstscene clarity score 111 satisfies the first threshold 112 when the firstscene clarity score 111 indicates that the image is more likely unclearthan clear based on the first data 104). Comparing the first sceneclarity score 111 to the first threshold 112 may be performed during afirst stage of a cascade classifier to detect unclear images.

When the first scene clarity score does not satisfy the first threshold,the method 200 advances to block 202. For example, when the first sceneclarity score 111 does not satisfy the first threshold 112, theenvironmental scene condition detection module 108 may classify theimage as clear and wait to receive another image to classify.

The method 200 further includes extracting second features (e.g., asecond stage classifier of the cascade classifier) from the image whenthe first scene clarity score satisfies the first threshold, at block212. For example, when the first scene clarity score 111 satisfies thefirst threshold 112, the environmental scene condition detection module108 may extract second data 105 from the data representing the image. Ina particular example, the second data 105 includes the dark feature datain addition to data describing a gradient phase of the image (e.g.,gradient feature data). The gradient phase may describe directionalchanges in intensity values of pixels in the image. The second data 105may be more indicative of contrast in the image than the first data 104because the second data 105 may include more information about intensityvalue changes throughout the image. However, since the second data 105may include more information, determining/processing the second data 105may be more time-consuming/computationally expensive.

The method 200 further includes comparing the second features to asecond scene clarity model to determine a second scene clarity score, atblock 214. In an illustrative example, a second scene clarity score 115is generated using a second scene clarity model 114. To illustrate, thesecond scene clarity model 114 may be a supervised machine learningmodel that is “trained” based on a set of input images and/or videos(e.g., sample images and/or sample videos), where each image ispre-categorized (e.g., by a vendor of the second scene clarity model114) as being “unclear” or “clear.” In some examples, the second sceneclarity model 114 is a linear support vector model (SVM). As eachadditional input image is provided to the second scene clarity model 114during the “training” phase, the second scene clarity model 114 adjustsa machine-learned “boundary” between “unclear” and “clear.” The boundarymay separate the input images based on combinations of dark features andgradient phases of the input images (whereas the boundary in the firstscene clarity model 112 may separate the input images based on darkfeatures alone). For example, each input image may be considered a datapoint in space (the space may include more than three dimensions). Eachpoint may be defined by coordinates corresponding to the dark featuresand gradient phases and the boundary may correspond to a hyperplanedividing the input images in the space into unclear and clear images. Insome examples, the second scene clarity model 114 is based on test videosequences in which one or more frames of the test video sequences havebeen pre-categorized as unclear or clear. Once the second scene claritymodel 114 has been trained, a scene clarity score may be determinedbased on whether a combination of dark features and a gradient phase(e.g., coordinates of the image in the space) of an image (or imagedata) is on the “unclear” or “clear” side of the boundary (e.g., thehyperplane), and/or how far the combination of the dark features and thegradient phase data is from the boundary. Thus, by comparing the secondscene clarity model 114 to the second data 105, the environmental scenecondition detection module 108 may generate a second scene clarity score115 indicating a probability that the image is unclear (e.g., affectedby an environmental scene condition).

The method 200 further includes comparing the second scene clarity scoreto a second threshold (e.g., determining whether the image is unclearbased on the second stage classifier), at block 216. For example, theenvironmental scene condition detection module 108 may compare thesecond scene clarity score 115 to a second threshold 116. The secondthreshold 116 may correspond to a threshold probability that the imageis unclear based on the second scene clarity score 115. In a particularexample, the second threshold 116 is 50% (e.g., the second scene clarityscore 114 satisfies the second threshold 116 when the second sceneclarity score 115 indicates that the image is more likely unclear thanclear based on the second data 105). Alternatively, the second threshold116 may be different from the first threshold 112. For example, thefirst threshold 112 may be less strict than the second threshold 116 sothat fewer images are eliminated from consideration as being unclearbased on the first threshold 112. Comparing the second scene claritymodel 114 to the second data 105 may be more computationally complex andmay take more time than comparing the first scene clarity model 110 tothe first data 104. Thus, by using a cascade classifier (e.g.,determining whether an image is unclear based on a first classifier andthen, when the image is classified as unclear based on the firstclassifier, determining whether the image is unclear according to asecond classifier), the environmental scene condition detection module108 may save time and/or computing cycles by determining that someimages are clear based on relatively less complex features. The method200 may retain accuracy by confirming that an image is unclear by usingincreasingly accurate (and complex) classifiers. It should be noted thatwhile the flowchart of the method 200 shown in FIG. 2 includes twostages, more than two cascade classifier stages may be included inalternative embodiments. For example, a third stage classifier mayinclude dark feature data, gradient phase data, and light features.

The method 200 further includes initiating an action when the secondscene clarity score satisfies the second threshold, at block 218. Forexample, when the second scene clarity score 115 satisfies the secondthreshold 116, the environmental scene condition detection module 108may classify the image as unclear and may initiate one or more actions(e.g., transmitting an output 118 configured to initiate the one or moreactions at one or more modules) as described in further detail in thecontext of the system 100 being configured to initiate an action relatedto a vehicle with reference to FIG. 3. In other contexts, the actionsmay include performing image processing to clarify the image for use bya robot (e.g., a UAV), by a mobile device (e.g., a mobile phone ortablet computer), a wearable device (e.g., a personal mounted camera), ahead mounted display, a gaming system, etc. The actions may also includeactivating or adjusting one or more systems of a robot (e.g., a UAV), ofa mobile device (e.g., a mobile phone or tablet computer), of a wearabledevice (e.g., a personal mounted camera), of a head mounted display,etc. For example, in response to detecting an unclear image, the system100 may cause a UAV to increase or decrease an altitude at which the UAVis flying. Alternatively, the system 100 may cause the UAV to processimage data to produce clarified image data which can then be transportedto another device and/or used for controlling movement of the UAV. Itshould be noted that neither the image sensor 102 nor the computingdevice 106 may be included in the device that performs the initiatedaction. To illustrate, a mobile device may include the image sensor 102and the computing device 106. In response to detecting an unclear image,the mobile device (e.g., a mobile phone) may initiate an action bysending a message to another device (e.g., a robot). The method 200 mayreturn to 202 after initiating the one or more actions. For example,after initiating an action, the environmental scene condition detectionmodule 108 may wait to receive another input image.

The method 200 returns to block 202 when the second scene clarity scoredoes not satisfy the second threshold. For example, when the secondscene clarity score 115 does not satisfy the second threshold 116, theenvironmental scene condition detection module 108 may classify theimage as clear and wait for another input image.

Using a cascade classifier to detect unclear images may reducetime/computation cycles used to detect unclear images by quicklyidentifying some images as clear using relatively less complexcomparisons. In addition, using a resized image may reduce complexity ofcalculations. Thus, the environmental scene condition detection module108 may enable more efficient scene detection while retaining accuracy.

Referring to FIG. 3, another block diagram of the system 100, includingadditional components, is shown. The system 100 includes the imagesensor 102 and the computing device 106. The system 100 as shown in FIG.3 may be integrated or partially integrated into a vehicle. For example,one or both of the image sensor 102 and the computing device 106 may beintegrated into or located inside of a vehicle. FIG. 3 shows moredetails of the computing device 106. For example, the computing device106 includes a video front end module 302, a statistics module 303, animage signal processor (ISP) 305, and an object detection module 308.The modules 302, 303, 108, 308 may correspond to software executed atthe computing device 106. Alternatively, some or all of the modules 302,303, 108, 308 may be hardware integrated into the ISP 305 (not shown) ormay be software executed at the ISP 305 (not shown). The ISP 305includes a local tone mapping (LTM) module 306. The LTM module 306 maybe a hardware module or a software module.

The system 100 further includes a human machine interface (HMI) 310. TheHMI 310 may correspond to a display device, such as a heads up display(HUD), a speaker, or a combination thereof. The HMI 310 may furtherinclude an input device (e.g., a touch screen, a keyboard, a controlpanel). The HMI 310 may be installed in the vehicle. For example, theHMI 310 may be mounted to a dashboard of the vehicle or attached to awindshield of the vehicle. In other examples, the HMI 310 may correspondto a mobile device, such as a phone, a tablet computer, a wearablecomputing device (e.g., data glasses), etc. The mobile device may becarried or viewed by an operator of the vehicle.

The video front end module 302, the environmental scene conditiondetection module 108, the ISP 305, the object detection module 308, andthe HMI 310 may be parts of an advanced driver assistance system (ADAS).

The system 100 further includes one or more sensors 314. The one or moresensors 314 may include one or more thermometers (e.g., inside thevehicle, outside of the vehicle, or both), a navigation system (e.g.,satellite navigation system), a light detection and ranging (LIDAR)device, inertial sensors, a map database, or a combination thereof.

The system 100 further includes a body control unit 316. The bodycontrol unit 316 may control various systems in the vehicle. Forexample, the body control unit 316 may control headlights, high beamlights, fog lights, an air conditioning system, a heater, a defrostingsystem, windshield wipers, or a combination thereof. The body controlunit 316 may also include one or more interfaces for a wide area networkconnection, a personal area network connection, a local area networkconnection, or a combination thereof. For example, the body control unit316 may include an Institute of Electrical and Electronics Engineers(IEEE) 802.11 interface, a Bluetooth® (Bluetooth is a registeredtrademark of Bluetooth SIG, Inc. of Kirkland, Wash.) interface, aLong-Term Evolution (LTE) interface, any other communications interface,or a combination thereof. The one or more interfaces may be used forvehicle to vehicle communication, vehicle to infrastructurecommunication, intra vehicle communication, or a combination thereof. Insome examples, the system 100 further includes actuators (not shown) forother systems of the vehicle. For example, the system 100 may includegear actuators, a throttle actuator, a brake actuator, a steeringactuator, or a combination thereof.

As explained above, the image sensor 102 may capture an image of a scene(e.g., the scene 122) viewed from the vehicle. Image data 103representing the image may be sent to the computing device 106. Thevideo front end module 302 may perform various operations on the imagedata 103 before sending the image data 103 to the environmental scenecondition detection module 108. For example, in some examples, the videofront end module 302 may transform the image data 103 to resize theimage as described with reference to block 204 of FIG. 2. The videofront end module 302 may further send the image data 103 to thestatistics module 303. The statistics module 303 may be configured toidentify various statistics based on the image data 103. For example,the statistics module 303 may identify that the image represented by theimage data 103 depicts an indoor environment. Based on the variousstatistics, the statistics module 303 may generate an on/off signal 304configured to enable or disable the environmental scene conditiondetection module 108. For example, when the vehicle is indoors, thestatistics module 303 may disable the environmental scene conditiondetection module 108.

When the environmental scene condition detection module 108 is enabled,the environmental scene condition detection module 108 operates asdescribed above with reference to FIGS. 1-2 to determine whether theimage represented by the image data 103 is unclear. When theenvironmental scene condition detection module 108 identifies the imageas unclear, the environmental scene condition detection module 108 mayinitiate one or more actions by generating one or more of an HMI signal330, ISP data 332, and a BCU signal 334. Each of the HMI signal 330, theISP data 332, and the BCU signal 334 may correspond to the output 118shown in FIG. 1. In particular examples, the environmental scenecondition detection module 108 determines which action or actions toinitiate based on sensor data 315 received from the one or more sensors314.

For example, in response to detecting an unclear image, theenvironmental scene condition detection module 108 may send the BCUsignal 334 to initiate one or more actions by the BCU 316. The BCU 316may be configured to activate (e.g., by sending a signal 317) electricsystems of the vehicle in response to the BCU signal 334. For example,the environmental scene condition detection module 108 may cause the BCU316 to activate fog lights, to turn off a high beam light, to activatewindshield wipers, or a combination thereof.

In some implementations, the environmental scene condition detectionmodule 108 may determine whether a window (e.g., a windshield) that theimage sensor 102 faces is foggy or whether a lens of the image sensor iswet or foggy. To illustrate, the image sensor 102 may be located withina cabin, such as a passenger cabin of the vehicle, and may be positionedto capture a scene through a window of the vehicle. The environmentalscene condition detection module 108 may receive the sensor data 315that is associated with and/or corresponds to multiple temperatures,such as a first temperature inside the vehicle and a second temperatureoutside of the vehicle. The environmental scene condition detectionmodule 108 may be configured to determine a temperature differencebetween the first temperature and the second temperature. When thetemperature difference indicates that a difference between the firsttemperature (inside the vehicle) exceeds the temperature (outside thevehicle), the environmental scene condition detection module 108 maydetermine that the image captured by the image sensor 102 is unclear inpart because the window that the image sensor 102 faces is foggy. Inresponse to a determination that the window is foggy, the environmentalscene condition detection module 108 may initiate an action, such asactivating a heating, ventilation, or air conditioning (HVAC) systemand/or a windshield wiper, as illustrative, non-limiting examples.

In some implementations, the system 100 may include multiple imagessensors and the environmental scene condition detection module 108 maydetermine whether a window (e.g., a windshield) of the vehicle iscompromised (e.g., wet, foggy, frosty, dirty, or otherwise contaminatedto obstruct clarity) or whether a lens of a particular image sensor iscompromised. The multiple image sensors may include the image sensor 102that generates a first image (e.g., the image data 103) and a secondimage sensor (not shown) that generates a second image (e.g., secondimage data). The image sensor 102 may be located within the cabin of thevehicle and may be positioned to capture a scene through the window. Thesecond image sensor may be located outside of the vehicle either onboardor located remotely from the vehicle. The environmental scene conditiondetection module 108 may receive the first image and the second imageand may process each of the images as described with reference to FIG.2.

When the second image sensor is located outside (e.g., onboard orremotely) the vehicle, the environmental scene condition detectionmodule 108 may determine whether the first image is more clear than thesecond image. The environmental scene condition detection module 108 maydetermine the first image is more clear than the second image when thefirst image is determined to be clear and the second image is determinedto be unclear. The environmental scene condition detection module 108may determine the first image is less clear than the second image whenthe second image is determined to be clear and the first image isdetermined to be unclear. When the first image and the second image areboth determined to be clear or both determined to be unclear, theenvironmental scene condition detection module 108 may compare a sceneclarity score of the first image to a scene clarity score of the secondimage. For example, the environmental scene condition detection module108 may compare the first scene clarity score 111 of the first image(e.g., the image data 103) to a first scene clarity score or a secondscene clarity score of the second image. Alternatively or additionally,the environmental scene condition detection module 108 may compare thesecond scene clarity score 115 of the first image (e.g., the image data103) to the first scene clarity score or the second scene clarity scoreof the second image.

In response to a determination that the first image (from the imagesensor 102 in the vehicle) is more clear than the second image (from thesecond image sensor that is onboard outside the vehicle or remotelylocated outside the vehicle), the environmental scene conditiondetection module 108 may initiate a first set of one or more actions,such as generating the HMI signal 330 to cause the HMI 310 to indicatethat the lens of the second image sensor is compromised (e.g., dirty orwet) and/or activating a heating, ventilation, and air conditioning(HVAC) system and/or a windshield wiper. In response to a determinationthat the first image is less clear than the second image, theenvironmental scene condition detection module 108 may initiate a secondset of one or more actions, such as generating the HMI signal 330 tocause the HMI 310 to indicate that the lens of the first image sensor iscompromised (e.g., dirty or wet). Accordingly, by comparing imagesreceived from two different image sensors, the environmental scenecondition detection module 108 may identify potential issues with theimage sensors (e.g., dirty and/or wet lenses) or with the environment(e.g., the window of the vehicle).

In some implementations, the system 100 may include the image sensor102, the second image sensor (not shown), and a third image sensor (notshown). The image sensor 102 may be located in the cabin of the vehicle,the second image sensor may be located outside and onboard the vehicle,and the third image sensor may be located outside and remote from thevehicle. Each of the image sensors may generate a corresponding image,such as a first image (e.g., the image data 103) generated by the firstimage sensor 102, a second image (e.g., second image data) generated bythe second image sensor, and a third image (e.g., third image data)generated by the third image sensor. The environmental scene conditiondetection module 108 may receive each of the first, second, and thirdimages and may process each of the images as described with reference toFIGS. 1-2. Alternatively or additionally, the environmental scenecondition detection module 108 may receive an indication from the thirdimage sensor that an environmental condition is clear or unclear and/ormay receive a scene clarity score determined based on the third imagesensor. The environmental scene condition detection module 108 maycompare the third image to the first image and/or the second image todetermine whether the third image is more clear than the first imageand/or the second image.

In response to a determination that the third image (from the thirdimage sensor) is more clear than the first image (from the image sensor102), the environmental scene condition detection module 108 maydetermine that a lens of the first image sensor is compromised and/orthat a window of the vehicle is compromised. In response to adetermination that the third image (from the third image sensor) is moreclear than the second image (from the second image sensor), theenvironmental scene condition detection module 108 may determine that alens of the second image sensor is compromised and/or that a window ofthe vehicle is compromised. In response to a determination that thethird image is more clear than the first image and/or the second image,the environmental scene condition detection module 108 may initiate oneor more actions, such as generating the HMI signal 330 and/or generatingthe BCU signal 334, as illustrative, non-limiting examples.

The system 100 may include one or more image sensors. For example, theone or more image sensors may include the image sensor 102 that islocated in the cabin of the vehicle and/or a second image sensor locatedoutside and onboard the vehicle. The environmental scene conditiondetection module 108 may receive data (e.g., via a communicationsinterface of the BCU 316) from an external source (e.g., a computingdevice associated with a weather service) indicating an environmentalcondition information, such as clear or unclear. The environmental scenecondition detection module 108 may compare the data that indicates anenvironmental condition to other data based on one or more images (e.g.,image data) from the one or more image sensors. For example, theenvironmental scene condition detection module 108 may receive a firstimage (e.g., the image data 103) from the image sensor 102 (located inthe vehicle) and may determine a first environmental condition using thefirst image.

The environmental scene condition detection module 108 may compare theenvironmental condition information to the first environmentalcondition. When the environmental scene condition detection module 108determines that the first environmental condition is unclear while theenvironmental condition information from the external source indicatesthat environmental conditions are clear, the environmental scenecondition detection module 108 may determine that the window iscompromised and/or that a lens of the image sensor 102 is compromised.As another example, the environmental scene condition detection module108 may compare the environmental condition information to a secondenvironmental condition determined using the second image. When theenvironmental scene condition detection module 108 determines that thesecond environmental condition is unclear while the environmentalcondition information from the external source indicates thatenvironmental conditions are clear, the environmental scene conditiondetection module 108 may determine that a lens of the second imagesensor is compromised (e.g., dirty, wet, or foggy).

When the environmental scene condition detection module 108 determinesthat the window is foggy (or otherwise compromised) and/or that a lensof the image sensor 102 is dirty (or otherwise compromised), the BCUsignal 334 may include a message or an activation signal configured tocause the BCU 316 to activate a heating, ventilation, and airconditioning (HVAC) system and/or a windshield wiper. Additionally oralternatively, the environmental scene condition detection module 108may generate the HMI signal to cause the HMI 310 to present a messagecorresponding to the determined condition (e.g., the window is foggy orthe image sensor 102 is dirty).

In some implementations, in response to determining that the image data103 is unclear, the environmental scene condition detection module 108may be configured to generate the BCU signal 334 to cause the BCU 316 totransmit a message over a communications interface. For example, the BCU316 may transmit a message to another vehicle. The message may instructthe other vehicle to perform an action (e.g., to activate imageclarification, to activate a system, to present a warning, or acombination thereof). Accordingly, the system 100 may share informationabout unclear and potentially hazardous conditions with other devices,such as other computing devices.

Additionally or alternatively, when the environmental scene conditiondetection module 108 detects that the image represented by the imagedata 103 is unclear, the environmental scene condition detection module108 may send the ISP data 332 to the ISP 305. The ISP data 332 may carrythe image data 103 or a processed version (e.g., resized) of the imagedata 103. In some examples, the ISP data 332 may include second imagedata 360 representing a second image captured by the image sensor 102after the image represented by the image data 103 was captured. In someexamples, the ISP 305 receives image data (e.g., the image data 103and/or the second image data 360) directly from the video front endmodule 302. In such examples, the ISP data 332 may enable clarifying bythe ISP 305. In some examples, the ISP data 332 includes the first sceneclarity score 111 and/or the second scene clarity score 115 calculatedas described above with reference to FIGS. 1 and 2. In response to theISP data 332, the ISP 305 generates “clarified” image data 307representing a clarified image. For example, the LTM module 306 mayboost local contrast (e.g., adjust intensity values of pixels toincrease differences between neighboring pixels potentially renderingobjects in the image clearer) in high intensity regions of the image (orthe second image). When the ISP data 332 includes the first sceneclarity score 111 and/or the second scene clarity score 115, the LTMmodule 306 may generate the clarified image data 307 based on one orboth of the first scene clarity score 111 and the second scene clarityscore 115. For example, a degree of adjustment to each pixel in an imagemay be based on one or both of the first scene clarity score 111 and thesecond scene clarity score 115. To illustrate, a greater adjustment maybe applied to pixel intensities when the first scene clarity score 111and/or the second scene clarity score 115 is high as compared to whenthe first scene clarity score 111 and/or the second scene clarity score115 is low (e.g., the degree of adjustment may be positively correlatedwith the first scene clarity score 111 and/or the second scene clarityscore 115). By using a hardware module, such as, the LTM module 306, thesystem 100 may generate the clarified image data 307 more quickly thanalternative systems. Generating the clarified image data 307 quickly maybe beneficial in situations when circumstances change quickly (e.g., asa vehicle moves through an environment at high speeds).

The ISP 305 may send the clarified image data 307 to the objectdetection module 308. The object detection module 308 may identifyobjects in the clarified image and provide a detected object output 309(e.g., collision warnings, speed limit notices, lane assistance, etc.)to the vehicle operator via the HMI 310. The object output 309 mayinclude a visual representation of an object detected in the clarifiedimage. For example, the HMI 310 may output the clarified image and mayoutput an overlay over the clarified image. The overlay may include arepresentation (e.g., an outline, highlighting, etc.) of detectedobjects (e.g., street lanes, signs, other vehicles, pedestrians,animals, etc.) in the clarified image. The object output 309 may includea warning to be output by the HMI 310 (e.g., via a display screen, aspeaker, etc.). The warning may include an audio warning, a textwarning, a visual warning (e.g., a video or an image), or a combinationthereof. For example, the warning may correspond to an audio messageincluding an announcement, such as “tree ahead” or a text message, suchas “pedestrian ahead.” In some examples, the object detection module 308may send a message to activate actuators of the vehicle (e.g., steering,throttle, brakes, gear shift, etc.) based on objects detected in theclarified image. For example, the object detection module 308 may send amessage to activate brakes of the vehicle when an object in front of thevehicle is detected in the clarified image.

As a further example, when the environmental scene condition detectionmodule 108 detects that the image represented by the image data 103 isunclear, the environmental scene condition detection module 108 may sendthe HMI signal 330 to the HMI 310. The HMI signal 330 may cause the HMI310 to present a warning (e.g., via a display screen, a speaker, etc.).The warning may be an audio warning, a text warning, a visual warning(e.g., a video or an image), or a combination thereof. The warning mayindicate that conditions are unclear and that an operator of the vehiclemay have difficulty detecting objects outside of the vehicle.

It should be noted that the environmental scene condition detectionmodule 108 may generate one or more outputs in response to determiningthat an image is clear. For example, the environmental scene conditiondetection module 108 may send the BCU signal 334 to the BCU 316 to causethe BCU 316 to deactivate electronics of the vehicle (e.g., turn off afog light, a defroster system, etc.) The environmental scene conditiondetection module 108 may send the ISP data 332 to the ISP 305 to turnoff a clarifying function of the ISP 305. Further, the environmentalscene condition detection module 108 may send the HMI signal 330 to theHMI 310 to cause the HMI 310 to output a “clear conditions” status(e.g., via a display or via a speaker).

As explained above, one or both of the image sensor and the computingdevice 106 may be located outside of the vehicle. For example, thecomputing device may be a server located in a computer center thatcommunicates with the vehicle through a connection established with aninterface of the BCU 316. The server may send the HMI signal 330, theBCU signal 334, the object output 309, or a combination thereof to thevehicle via the connection. Therefore, environmental scene detection andclarification may be performed outside of the vehicle. Further,environmental scene detection and clarification may be performed basedon image data captured outside of the vehicle. For example, the imagesensor 102 may be located at a weather station, a weather balloon,another vehicle, or some other location.

Thus, the system 100 may enable detection of unclear conditions that mayimpact operations of a vehicle. In addition, the system 100 may enableautomatic initiation of actions that may mitigate potential dangers ofoperating the vehicle.

Referring to FIG. 4, a diagram 400 is shown illustrating various graphscorresponding to LTM functions that may be used by the LTM module 306 togenerate the clarified image data 307. A digital image (e.g., the imagerepresented by the image data 103 or the second image represented by thesecond image data 360) may be composed of pixels. Each pixel may have anintensity value in one or more channels (e.g., red, green, blue). Theintensity value may range from 0-255. For each pixel in an image, theLTM module 306 may adjust the pixel's intensity in one or more of thechannels based on intensities of neighboring pixels. An LTM master curve402 shows adjustments applied to the pixel's intensity (along theY-axis) for different average intensities of neighboring pixels (alongthe X-axis). As illustrated, the LTM module 306 may increase anintensity of a pixel in a low intensity area and may decrease anintensity of a pixel in a high intensity area.

An LTM shift curve 404 shows how an intensity of a pixel is adjusted(along the Y-axis) based on a difference (along the Y-axis) between theintensity and an average intensity of neighboring pixels. Both the LTMmaster curve 402 and the LTM shift curve 404 may be based on one or moreof the first scene clarity score 111 and the second scene clarity score115. For example, adjustments to pixel intensities may be increase as ascene clarity score (one or both of the first scene clarity score 111and the second scene clarity score 115) increases.

Referring to FIG. 5, a flowchart illustrating a method 500 foridentifying unclear images is shown. The method 500 includes receivingdata representative of an image captured by an image sensor, the imagedepicting a scene, at block 502. For example, the computing device 106may receive the image data 103. The image data 103 may represent animage of the scene 122 captured by the image sensor 102. In someexamples, the scene 122 may be representative of a scene viewed from avehicle.

The method 500 further includes determining a first scene clarity scoreof the image based on first data extracted from the data, the firstscene clarity score indicative of contrast in the image, at block 504.For example, the environmental scene condition detection module 108 maydetermine the first scene clarity score 111 based on the first data 104extracted from the image data 103.

The method 500 further includes comparing the first scene clarity scoreto a threshold, at block 506. For example, the environmental scenecondition detection module 108 may compare the first scene clarity score111 to the first threshold 112. If the first scene clarity score doesnot satisfy the threshold, the method 500 further includes determiningthat the image is clear (e.g., that no environmental scene condition isdetected), at block 508. For example, the environmental scene conditiondetection module 108 may determine that the image represented by theimage data 103 is clear in response to the first scene clarity score 111not satisfying the first threshold 112.

If the first scene clarity score does satisfy the threshold, the method500 includes determining a second scene clarity score based on seconddata extracted from the data, the second scene clarity score indicativeof contrast in the image, at block 510. For example, if the first sceneclarity score 111 satisfies the first threshold 112, the environmentalscene condition detection module 108 may determine the second sceneclarity score 115 based on the second data 105.

The method 500 further includes determining whether to automaticallyinitiate an action based on the second scene clarity score, at 512. Forexample, the environmental scene condition detection module 108 maycompare the second scene clarity score 115 to the second threshold 116to determine whether to initiate an action via the output 118.

Thus, the method 500 may use a two stage comparison to determine whetheran image is unclear and an action should be initiated.

Referring to FIG. 6, a block diagram of a particular illustrativeembodiment of a device 600 (e.g., an electronic device) is depicted. Thedevice 600 may correspond to the computing device 106. The device 600includes a processor 610 coupled to a memory 632. The processor 610 mayexecute an environmental scene condition detection module 664, such asthe environmental scene condition detection module 108.

The memory 632 may include data and instructions, such ascomputer-readable instructions or processor-readable instructions. Thedata and instructions may be associated with executing the environmentalscene condition detection module 664.

FIG. 6 also shows a display controller 626 that is coupled to theprocessor 610 and to a display 628. A coder/decoder (CODEC) 634 can alsobe coupled to the processor 610. A speaker 636 and a microphone 638 canbe coupled to the CODEC 634. The speaker 636, the microphone 638, thedisplay 628, or a combination thereof may correspond to the HMI 310.

FIG. 6 also includes a camera 631. The camera 631 may correspond to theimage sensor 102. The camera 631 may be physically coupled to the device600 or may communicate with the device 600 wirelessly.

FIG. 6 also includes an image signal processor 611 coupled to the memoryand to the processor 610. The image signal processor 611 may correspondto the ISP 305. The image signal processor 611 includes an LTM module612. The LTM module 612 may be a hardware module or a software moduleand may correspond to the LTM module 306.

FIG. 6 also indicates that a wireless interface 640 can be coupled tothe processor 610 and to an antenna 642. The device 600 may communicatewith other devices, such as the body control unit 316 or the HMI 310 viathe wireless interface 640 and the antenna 642. In alternateembodiments, the device 600 may communicate with other devices, such asthe body control unit 316 or the HMI 310 via a wired connection. In someimplementations, the processor 610, the display controller 626, thememory 632, the CODEC 634, and the wireless interface 640 are includedin a system-in-package or system-on-chip device 622. In a particularembodiment, an input device 630 and a power supply 644 are coupled tothe system-on-chip device 622. Moreover, in a particular embodiment, asillustrated in FIG. 6, the display 628, the input device 630, thespeaker 636, the microphone 638, the antenna 642, and the power supply644 are external to the system-on-chip device 622. However, each of thedisplay 628, the input device 630, the speaker 636, the microphone 638,the antenna 642, and the power supply 644 can be coupled to a componentof the system-on-chip device 622, such as an interface or a controller.Although the environmental scene condition detection module 664 isdepicted as being executed by the processor 610, in otherimplementations, the environmental scene condition detection module 664may be included in another component of the device 600 or a componentcoupled to the device 600. For example, the environmental scenecondition detection module 664 may correspond to hardware included inthe image signal processor 611.

In an embodiment, an apparatus includes means for receiving datarepresentative of an image. The means for receiving data may correspondto the image sensor 102, the camera 631, the computing device 106, thevideo front end module 302, the system-on-chip device 622, acommunications interface of the BCU 316, or a combination thereof. Theapparatus further includes means for image processing configured toreceive data representative of an image captured by the means forcapturing images. The means for image processing may be furtherconfigured to determine a first scene clarity score of the image basedon first data extracted from the data. The means for image processingmay be further configured to determine whether the first scene clarityscore satisfies a threshold, and if the first scene clarity scoresatisfies the threshold, determine a second scene clarity score based onsecond data extracted from the data when the first scene clarity scoresatisfies the threshold. The means for image processing may further beconfigured to determine whether to automatically initiate an actionbased on the second scene clarity score. The means for image processingmay correspond to the computing device 106, the environmental scenecondition detection module 108, the device 600, the processor 610, theenvironmental scene condition detection module 664, or to a combinationthereof.

The previous description of the disclosed embodiments is provided toenable a person skilled in the art to make or use the disclosedembodiments. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the principles defined hereinmay be applied to other embodiments without departing from the scope ofthe disclosure. Thus, the present disclosure is not intended to belimited to the embodiments shown herein but is to be accorded the widestscope possible consistent with the principles and novel features asdefined by the following claims.

What is claimed is:
 1. A method for processing data at a computingdevice associated with a vehicle, the method comprising: receiving, bythe computing device, the data representative of at least a portion ofan image captured by an image sensor, the image depicting a scene;calculating, by the computing device, a first scene clarity score basedon first data extracted from the data; performing, by the computingdevice, a comparison based on the first scene clarity score and athreshold; in response to a result of the comparison, calculating, bythe computing device, a second scene clarity score based on second dataextracted from the data, the second data including the first data andadditional data; and initiating, by the computing device, an action bythe vehicle in response to an identification of an environmentalcondition based on the second scene clarity score.
 2. The method ofclaim 1, further comprising: extracting the first data and the seconddata from the data; and determining whether the scene includes theenvironmental condition based on the second scene clarity score.
 3. Themethod of claim 1, wherein the additional data includes gradient featuredata.
 4. The method of claim 1, wherein initiating the action comprisesactivating a heating, ventilation, and air conditioning (HVAC) system ofthe vehicle, and further comprising determining whether theenvironmental condition is present on a window of the vehicle.
 5. Themethod of claim 1, wherein initiating the action comprises activating awindshield wiper of the vehicle.
 6. The method of claim 1, wherein thesecond scene clarity score is calculated in response to the first sceneclarity score exceeding the threshold, and wherein the first sceneclarity score and the second scene clarity score are indicative ofcontrast in the image.
 7. The method of claim 1, wherein initiating theaction includes activating a fog light of the vehicle, providing anaudio warning, providing a visual warning, or a combination thereof. 8.The method of claim 1, wherein the action includes processing the datato produce clarified image data.
 9. The method of claim 8, whereinproducing the clarified image data includes using local tone mapping(LTM) to boost local contrast in high intensity regions of the image.10. The method of claim 8, wherein intensity values of one or morepixels in the image are modified by amounts selected based on one orboth of the first scene clarity score and the second scene clarityscore.
 11. The method of claim 8, further comprising performing objectdetection based on the clarified image data and providing an output toan output device of a vehicle based on the object detection.
 12. Themethod of claim 1, wherein the first data includes dark feature datathat corresponds to pixels in the image that have a high intensity valuein at least one of a red channel, a green channel, and a blue channel ofthe image.
 13. The method of claim 1, wherein calculating the firstscene clarity score includes comparing the first data to a modelgenerated using machine learning.
 14. The method of claim 1, furthercomprising: comparing the second scene clarity score to a secondthreshold; and identifying the environmental condition based on thesecond scene clarity score satisfying the second threshold.
 15. Themethod of claim 1, wherein the image is included in a plurality ofimages received from the image sensor, and further comprising selectinga particular image of the plurality of images and selectively processingthe particular image to calculate a corresponding scene clarity score.16. An apparatus comprising: a memory; and a processor coupled to thememory and configured to: receive data representative of at least aportion of an image captured by an image sensor, the image depicting ascene associated with a vehicle; calculate a first scene clarity scoreof the image based on first data extracted from the data; perform acomparison based on the first scene clarity score and a threshold; inresponse to a result of the comparison, calculate a second scene clarityscore based on second data extracted from the data, the second dataincluding the first data and additional data; and in response to anidentification of an environmental condition based on the second sceneclarity score, initiate an action by the vehicle.
 17. The apparatus ofclaim 16, further comprising the image sensor, wherein the image sensoris located within a passenger compartment of the vehicle.
 18. Theapparatus of claim 16, wherein the processor includes a local tonemapping (LTM) module, and wherein the action includes using the LTMmodule to generate clarified image data.
 19. The apparatus of claim 18,wherein the LTM module is configured to generate the clarified imagedata based on second data representative of at least a portion of asecond image, the second image captured by the image sensor after theimage sensor captured the image.
 20. The apparatus of claim 18, whereinthe LTM module is configured to modify intensity values of one or morepixels in the image by amounts selected based on one or both of thefirst scene clarity score and the second scene clarity score, andwherein the amounts are positively correlated with one or both of thefirst scene clarity score and the second scene clarity score.
 21. Theapparatus of claim 16, further comprising a body control unit configuredto control one or more electronic systems of the vehicle, wherein thememory is configured to store the data.
 22. The apparatus of claim 16,further comprising a speaker configured to output an audio warningassociated with the action.
 23. The apparatus of claim 16, wherein theprocessor is further configured to perform the action to generateclarified image data, and further comprising a display device onboardthe vehicle, the display device configured to display a clarified imagerepresented by the clarified image data.
 24. The apparatus of claim 16,wherein the processor is further configured to perform the action togenerate clarified image data and to detect an objects based on theclarified image data.
 25. The apparatus of claim 16, wherein the actionincludes activating a heating, ventilation, and air conditioning (HVAC)system, activating a windshield wiper, activating a fog light of avehicle, providing an audio warning, providing a visual warning, or acombination thereof.
 26. A non-transitory computer-readable storagemedium storing instructions that, when executed by a processor, causethe processor to perform operations including: receiving datarepresentative of at least a portion of an image captured by an imagesensor, the image depicting a scene associated with a vehicle;calculating a first scene clarity score based on first data extractedfrom the data; performing a comparison based on the first scene clarityscore and a threshold; and in response to a result of the comparison:calculating a second scene clarity score based on second data extractedfrom the data, the second data including the first data and additionaldata; and in response to an identification of an environmental conditionbased on the second scene clarity score, initiating performance of anaction by the vehicle.
 27. The non-transitory computer-readable storagemedium of claim 26, wherein the first scene clarity score is calculatedby comparing a first linear support vector model to the first data, andwherein the second scene clarity score is calculated by comparing asecond linear support vector model to the second data.
 28. Thenon-transitory computer-readable storage medium of claim 27, whereineach of the first linear support vector model and the second linearsupport vector model is generated using sample videos.
 29. An apparatuscomprising: means for receiving data representative of at least aportion of an image; and means for image processing configured to:calculate a first scene clarity score of the image based on first dataextracted from the data, the first scene clarity score indicative ofcontrast in the image; perform a comparison based on the first sceneclarity score and a threshold; and in response to a result of thecomparison: calculate a second scene clarity score based on second dataextracted from the data, the second data including the first data andadditional data; and initiate an action by a vehicle based on the secondscene clarity score.
 30. The apparatus of claim 29, wherein the actionincludes processing the data to produce clarified image data, activatinga fog light of a vehicle, providing an audio warning, providing a visualwarning, or a combination thereof.
 31. A method for processing data at acomputing device associated with a vehicle, the method comprising:receiving, by the computing device, the data representative of at leasta portion of an image captured by an image sensor, the image depicting ascene; calculating, by the computing device, a first scene clarity scorebased on first data extracted from the data; performing, by thecomputing device, a comparison based on the first scene clarity scoreand a threshold; in response to a result of the comparison, calculating,by the computing device, a second scene clarity score based on seconddata extracted from the data, the second data including the first dataand additional data; and initiating, by the computing device and basedon the second scene clarity score, processing the data to produceclarified image data.
 32. The method of claim 31, further comprisingprocessing, by the computing device, the data to produce the clarifiedimage data.
 33. The method of claim 31, wherein the computing devicecomprises a wearable computing device.
 34. The method of claim 31,wherein the computing device is incorporated in the vehicle.
 35. Anapparatus comprising: a memory; and a processor coupled to the memoryand configured to: receive data representative of at least a portion ofan image captured by an image sensor, the image depicting a sceneassociated with a vehicle; calculate a first scene clarity score of theimage based on first data extracted from the data; perform a comparisonbased on the first scene clarity score and a threshold; in response to aresult of the comparison, calculate a second scene clarity score basedon second data extracted from the data, the second data including thefirst data and additional data; and initiate, based on the second sceneclarity score, processing the data to produce clarified image data. 36.The apparatus of claim 35, wherein the processor is further configuredto process the data to produce the clarified image data.
 37. Theapparatus of claim 35, wherein the memory and the processor areincorporated in a wearable computing device.
 38. The apparatus of claim35, wherein the memory and the processor are incorporated in thevehicle.